﻿using System;
using System.ComponentModel;
using System.Linq.Expressions;
using System.Windows;
using SoftSource.Common;
using SoftSource.Timecard.ViewModelInterfaces;

namespace SoftSource.Timecard.ViewModels
{
    public sealed class MainViewModel : IMainViewModel
    {
        #region IMainViewModel Members

        public Func<UIElement> CreateSummaryView { get; set; }
        public Func<UIElement> CreateManagementView { get; set; }
        public Func<UIElement> CreateTimeEntryListView { get; set; }
        public Func<UIElement> CreateReportListView { get; set; }

        #endregion
       
        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;

        #endregion

        #region IDisposable Members

        public void Dispose()
        {
            GC.SuppressFinalize(this);
        }

        #endregion

        ~MainViewModel()
        {
            this.Dispose();
        }
    }
}
